/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Modelo.Entidades;

import java.util.Date;
import java.sql.Time;
import java.util.ArrayList;
import java.util.List;

/*
 *  Proyecto eJAM [G12]
 *  Miembros:
 *      - Javier Ruiz Hidalgo
 *      - Adrian Ramos Cápitas
 *      - Miguel Alejandro Esteban Ordóñez
 */

public class TareaImpl implements Tarea {

    private String nombre, tipo;
    private Time duracion;
    private Date f_fin, f_ini;
    private double c_error;
    private List<Pregunta> preguntas;

    public TareaImpl(String nombre){
        this.nombre = nombre;
        this.preguntas = new ArrayList();
    }

    public TareaImpl(String nombre, String tipo, Time duracion, Date f_fin, Date f_ini, double c_error) {
        this.nombre = nombre;
        this.tipo = tipo;
        this.duracion = duracion;
        this.f_fin = f_fin;
        this.f_ini = f_ini;
        this.c_error = c_error;
        this.preguntas = new ArrayList();
    }

    public TareaImpl(String nombre, String tipo, Time duracion, Date f_fin, Date f_ini, double c_error, List<Pregunta> preguntas) {
        this.nombre = nombre;
        this.tipo = tipo;
        this.duracion = duracion;
        this.f_fin = f_fin;
        this.f_ini = f_ini;
        this.c_error = c_error;
        this.preguntas = preguntas;
    }

    public Time getDuracion() {
        return duracion;
    }

    public List<Pregunta> getPreguntas() {
        return preguntas;
    }

    public void setPreguntas(List<Pregunta> preguntas) {
        this.preguntas = preguntas;
    }

    public void setDuracion(Time duracion) {
        this.duracion = duracion;
    }

    public double getC_error() {
        return c_error;
    }

    public void setC_error(double c_error) {
        this.c_error = c_error;
    }

    public Date getF_fin() {
        return f_fin;
    }

    public void setF_fin(Date f_fin) {
        this.f_fin = f_fin;
    }

    public Date getF_ini() {
        return f_ini;
    }

    public void setF_ini(Date f_ini) {
        this.f_ini = f_ini;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getTipo() {
        return tipo;
    }

    public void setTipo(String tipo) {
        this.tipo = tipo;
    }

    public void addPregunta(Pregunta pregunta){
        preguntas.add(pregunta);
    }

    public void removePregunta(Pregunta pregunta){
        preguntas.remove(pregunta);
    }

    public String toString(){
        String s = "[" + getTipo() + "] " + getNombre() + "\nF.Inicio: " + getF_ini() + " -- F.Fin: " + getF_fin() + "\n\tDuracion: " + getDuracion() + "\tError: " + getC_error();

        for(Pregunta p: preguntas){
            s += "/n" + p.toString();
        }

        return s;
    }

}
